home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
short15.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
33KB
|
1,596 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "short.h"
/*No:RUN_FEATURE_2.use_current_state*/
/*No:RUN_FEATURE_2.arguments*/
/*No:RUN_FEATURE_2.actuals_clients*/
void r343initialize(T343* C){
C->_result_type=((T300*)((C)->_base_feature/*32*/))->_result_type/*20*/;
C->_result_type=X46to_runnable((C)->_result_type/*36*/,(C)->_current_type/*4*/);
}
T0* r343start_position(T343* C){
T0* R=NULL;
R=r300start_position((T300*)((C)->_base_feature/*32*/));
return R;
}
/*No:RUN_FEATURE_2.require_assertion*/
/*No:RUN_FEATURE_2.clients_memory*/
/*No:RUN_FEATURE_2.ucs_not_computed*/
/*No:RUN_FEATURE_2.current_type*/
void r343add_client(T343* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T321*n=malloc(sizeof(*n));
*n=M321;
r321with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r321fast_index_of((T321*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T321*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r310add_client((T310*)(r343run_class(C)),a1);
}
T0* r343run_class(T343* C){
T0* R=NULL;
R=X46run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_2.result_type*/
/*No:RUN_FEATURE_2.base_feature*/
/*No:RUN_FEATURE_2.ensure_assertion*/
void r343make(T343* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r317put(((T317*)(((T310*)(r343run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X77to_key(a2));
/*]*/
r59incr_magic_count((T59*)(oBC11small_eiffel));
C->_use_current_state=15;
r59push((T59*)(oBC11small_eiffel),(T0*)C);
r343initialize(C);
r59pop((T59*)(oBC11small_eiffel));
}
/*No:RUN_FEATURE_2.name*/
/*No:RUN_FEATURE_2.local_vars*/
T2 r343arg_count(void){
T2 R=0;
/*[IF*/
/*AF*//*AE*/
/*FI]*/
return R;
}
T0* r343clients(T343* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X46base_class((C)->_current_type/*4*/);
_bfbc=((T300*)((C)->_base_feature/*32*/))->_base_class/*4*/;
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=((T300*)((C)->_base_feature/*32*/))->_clients/*16*/;
}
else{
R=r22clients_for(((T22*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
T6 r343is_exported_in(T343* C,T0* a1){
T6 R=0;
R=r94gives_permission_to((T94*)(r343clients(C)),a1);
return R;
}
void r79make_n(T79* C,T0* a1){
T2 _j=0;
T2 _i=0;
_i=(((T80*)a1))->_upper/*8*/;
while (!((_i)<(0))) {
_j=(_i)-(1);
while (!((_j)<(0))) {
/*[IF*/
if((X77to_key(/*(IRF4.6item*/((((T80*)a1))->_storage/*0*/)[_i]/*)*/))==((void*)(X77to_key(/*(IRF4.6item*/((((T80*)a1))->_storage/*0*/)[_j]/*)*/)))){
r79fe_multiple(/*(IRF4.6item*/((((T80*)a1))->_storage/*0*/)[_i]/*)*/,/*(IRF4.6item*/((((T80*)a1))->_storage/*0*/)[_j]/*)*/);
}
/*FI]*/
_j=(_j)-(1);
}
_i=(_i)-(1);
}
C->_first=/*(IRF4.6item*/((((T80*)a1))->_storage/*0*/)[0]/*)*/;
_i=(((T80*)a1))->_upper/*8*/;
/*[IF*/
if((_i)>(0)){
{T80*n=malloc(sizeof(*n));
*n=M80;
r80make(n,_i);
C->_remainder=(T0*)n;
}
_j=0;
while (!((_i)==(0))) {
/*[IRF3.5put*/(((T80*)((C)->_remainder/*4*/))->_storage/*0*/)[_j]=(/*(IRF4.6item*/((((T80*)a1))->_storage/*0*/)[(_j)+(1)]/*)*/);
/*]*/
_j=(_j)+(1);
_i=(_i)-(1);
}
}
/*FI]*/
}
T0* r79feature_name(T79* C,T0* a1){
T0* R=NULL;
T2 _i=0;
/*[IF*/
if((X77to_key((C)->_first/*0*/))==((void*)(a1))){
R=(C)->_first/*0*/;
}
else if(((C)->_remainder/*4*/)==((void*)(NULL))){
}
else{
_i=((T80*)((C)->_remainder/*4*/))->_upper/*8*/;
while (!(((_i)<(0))||((a1)==((void*)(X77to_key(/*(IRF4.6item*/(((T80*)((C)->_remainder/*4*/))->_storage/*0*/)[_i]/*)*/)))))) {
_i=(_i)-(1);
}
/*[IF*/
if((_i)>=(0)){
R=/*(IRF4.6item*/(((T80*)((C)->_remainder/*4*/))->_storage/*0*/)[_i]/*)*/;
}
/*FI]*/
}
/*FI]*/
return R;
}
void r79short_for_creation(T79* C){
T2 _i=0;
_i=1;
while (!((_i)>(r79count(C)))) {
r39a_feature((T39*)(oBC11short_print),r79item(C,_i));
_i=(_i)+(1);
}
}
void r79fe_multiple(T0* a1,T0* a2){
r67add_position(X77start_position(a1));
r67add_position(X77start_position(a2));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms79_61088);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
T6 r79has(T79* C,T0* a1){
T6 R=0;
R=(r79index_of(C,a1))>(0);
return R;
}
/*No:FEATURE_NAME_LIST.make_1*/
void r79add_last(T79* C,T0* a1){
T0* _fn2=NULL;
_fn2=r79feature_name(C,X77to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
r79fe_multiple(_fn2,a1);
}
/*FI]*/
/*[IF*/
if(((C)->_remainder/*4*/)==((void*)(NULL))){
{T80*n=malloc(sizeof(*n));
*n=M80;
r80with_capacity(n,4);
C->_remainder=(T0*)n;
}
}
/*FI]*/
r80add_last((T80*)((C)->_remainder/*4*/),a1);
}
T0* r79item(T79* C,T2 a1){
T0* R=NULL;
/*[IF*/
if((a1)==(1)){
R=(C)->_first/*0*/;
}
else{
R=/*(IRF4.6item*/(((T80*)((C)->_remainder/*4*/))->_storage/*0*/)[(a1)-(2)]/*)*/;
}
/*FI]*/
return R;
}
/*No:FEATURE_NAME_LIST.first*/
T2 r79count(T79* C){
T2 R=0;
/*[IF*/
if(((C)->_remainder/*4*/)==((void*)(NULL))){
R=1;
}
else{
R=(((T80*)((C)->_remainder/*4*/))->_upper/*8*/)+(2);
}
/*FI]*/
return R;
}
T6 r79for_short(T79* C,T0* a1,T6 a2,T0* a3,T6 a4,T0* a5,T0* a6){
T6 R=0;
T0* _rf=NULL;
T0* _fn=NULL;
T2 _i=0;
R=a2;
_i=1;
while (!((_i)>(r79count(C)))) {
_fn=r79item(C,_i);
_rf=r310get_rf_with(((T310*)a6),_fn);
/*[IF*/
if(!(X311fast_has(a5,_rf))){
X311add_last(a5,_rf);
/*[IF*/
if(!(a4)){
/*[IF*/
if(!(a2)){
R=1;
r89do_heading_for_short(((T89*)a1),a3);
}
/*FI]*/
r39a_run_feature((T39*)(oBC11short_print),_rf);
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
return R;
}
/*No:FEATURE_NAME_LIST.remainder*/
T2 r79index_of(T79* C,T0* a1){
T2 R=0;
T0* _fn_key=NULL;
_fn_key=X77to_key(a1);
/*[IF*/
if((X77to_key((C)->_first/*0*/))==((void*)(_fn_key))){
R=1;
}
else if(((C)->_remainder/*4*/)==((void*)(NULL))){
}
else{
R=((T80*)((C)->_remainder/*4*/))->_upper/*8*/;
while (!(((R)<(0))||((_fn_key)==((void*)(X77to_key(/*(IRF4.6item*/(((T80*)((C)->_remainder/*4*/))->_storage/*0*/)[R]/*)*/)))))) {
R=(R)-(1);
}
/*[IF*/
if((R)<(0)){
R=0;
}
else{
R=(R)+(2);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r79short(T79* C){
T2 _i=0;
_i=1;
while (!((_i)>(r79count(C)))) {
X77short(r79item(C,_i));
_i=(_i)+(1);
/*[IF*/
if((_i)<=(r79count(C))){
r39hook_or((T39*)(oBC11short_print),((T0*)ms79_9303),((T0*)ms79_158));
}
/*FI]*/
}
}
/*No:FEATURE_NAME_LIST.fatal_error*/
/*No:CLASS_INVARIANT.start_position*/
/*No:CLASS_INVARIANT.header_comment*/
void r40make(T40* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
/*No:CLASS_INVARIANT.set_header_comment*/
/*No:CLASS_INVARIANT.list*/
void r40short(T40* C,T0* a1){
T2 _i=0;
r22header_comment_for(((T22*)a1),(T0*)C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms40_5929aaaa),((T0*)ms40_6590));
/*[IF*/
if(((C)->_header_comment/*4*/)==((void*)(NULL))){
r39hook_or((T39*)(oBC11short_print),((T0*)ms40_5978aaa),((T0*)ms40_0aaaaaaaaaaaaaaaaaa));
}
else{
r39hook_or((T39*)(oBC11short_print),((T0*)ms40_6027aaa),((T0*)ms40_0aaaaaaaaaaaaaaaaaaaa));
r52short((T52*)((C)->_header_comment/*4*/),((T0*)ms40_6076aaa),((T0*)ms40_2358),((T0*)ms40_6125a),((T0*)ms40_11aaaa));
r39hook_or((T39*)(oBC11short_print),((T0*)ms40_6174aa),((T0*)ms40_0aaaaaaaaaaaaaaaaaaa));
}
/*FI]*/
/*[IF*/
if(((C)->_list/*8*/)==((void*)(NULL))){
r39hook_or((T39*)(oBC11short_print),((T0*)ms40_6223),((T0*)ms40_0a));
}
else{
r39hook_or((T39*)(oBC11short_print),((T0*)ms40_6272aa),((T0*)ms40_0aaaaaaaaaaaaaaaaa));
_i=1;
while (!((_i)==(((T50*)((C)->_list/*8*/))->_upper/*8*/))) {
r49short((T49*)(r50item((T50*)((C)->_list/*8*/),_i)),((T0*)ms40_6321aaa),((T0*)ms40_306a),((T0*)ms40_5880aaa),((T0*)ms40_0aaaaaaaaaaaaaaaa),((T0*)ms40_5929aaa),((T0*)ms40_0aaaaaaaaaaaaaaa),((T0*)ms40_5978aa),((T0*)ms40_186a),((T0*)ms40_6027aa),((T0*)ms40_0aaaaaaaaaaaaaa),((T0*)ms40_6076aa),((T0*)ms40_0aaaaaaaaaaaaa),((T0*)ms40_6125),((T0*)ms40_60a),((T0*)ms40_6174a),((T0*)ms40_11aaa),((T0*)ms40_6223aa),((T0*)ms40_0aaaaaaaaaaaa),((T0*)ms40_6272a),((T0*)ms40_656a),((T0*)ms40_6321aa),((T0*)ms40_11aa),((T0*)ms40_5880aa),((T0*)ms40_0aaaaaaaaaaa),((T0*)ms40_5929aa),((T0*)ms40_0aaaaaaaaaa));
_i=(_i)+(1);
}
r49short((T49*)(r50item((T50*)((C)->_list/*8*/),_i)),((T0*)ms40_6321a),((T0*)ms40_306),((T0*)ms40_5880a),((T0*)ms40_0aaaaaaaaa),((T0*)ms40_5929a),((T0*)ms40_0aaaaaaaa),((T0*)ms40_5978a),((T0*)ms40_186),((T0*)ms40_6027a),((T0*)ms40_0aaaaaaa),((T0*)ms40_6076a),((T0*)ms40_0aaaaaa),((T0*)ms40_5978),((T0*)ms40_60),((T0*)ms40_6174),((T0*)ms40_11a),((T0*)ms40_6223a),((T0*)ms40_0aaaaa),((T0*)ms40_6272),((T0*)ms40_656),((T0*)ms40_6321),((T0*)ms40_11),((T0*)ms40_5880),((T0*)ms40_0aaaa),((T0*)ms40_5929),((T0*)ms40_0aaa));
r39hook_or((T39*)(oBC11short_print),((T0*)ms40_6027),((T0*)ms40_0aa));
}
/*FI]*/
r39hook_or((T39*)(oBC11short_print),((T0*)ms40_6076),((T0*)ms40_0));
}
/*No:CLASS_NAME_LIST.make_1*/
T6 r183gives_permission_to_any(T183* C){
T6 R=0;
T2 _i=0;
_i=r183count(C);
while (!((R)||((_i)==(0)))) {
R=(((T47*)(r183item(C,_i)))->_to_string/*0*/)==((void*)(((T0*)ms13_714)));
_i=(_i)-(1);
}
return R;
}
void r183add_last(T183* C,T0* a1){
T2 _i=0;
_i=r183index_of(C,a1);
/*[IF*/
if((_i)>(0)){
r67add_position(((T47*)(r183item(C,_i)))->_start_position/*4*/);
r183warning((((T47*)a1))->_start_position/*4*/,((T0*)ms183_54510));
}
/*FI]*/
/*[IF*/
if(((C)->_remainder/*4*/)==((void*)(NULL))){
{T184*n=malloc(sizeof(*n));
*n=M184;
r184with_capacity(n,4);
C->_remainder=(T0*)n;
}
}
/*FI]*/
r184add_last((T184*)((C)->_remainder/*4*/),a1);
}
void r183merge(T183* C,T0* a1,T0* a2){
T0* _cn=NULL;
T2 _i=0;
C->_first=r183item(((T183*)a1),1);
{T184*n=malloc(sizeof(*n));
*n=M184;
r184with_capacity(n,((r183count(((T183*)a1)))+(r183count(((T183*)a2))))-(1));
C->_remainder=(T0*)n;
}
_i=r183count(((T183*)a1));
while (!((_i)==(1))) {
r184add_last((T184*)((C)->_remainder/*4*/),r183item(((T183*)a1),_i));
_i=(_i)-(1);
}
_i=r183count(((T183*)a2));
while (!((_i)==(0))) {
_cn=r183item(((T183*)a2),_i);
/*[IF*/
if((r183index_of(C,_cn))==(0)){
r184add_last((T184*)((C)->_remainder/*4*/),_cn);
}
/*FI]*/
_i=(_i)-(1);
}
}
T0* r183item(T183* C,T2 a1){
T0* R=NULL;
/*[IF*/
if((a1)==(1)){
R=(C)->_first/*0*/;
}
else{
R=/*(IRF4.6item*/(((T184*)((C)->_remainder/*4*/))->_storage/*0*/)[(a1)-(2)]/*)*/;
}
/*FI]*/
return R;
}
void r183warning(T0* a1,T0* a2){
r67add_position(a1);
r67warning((T67*)(oBC11eh),a2);
}
/*No:CLASS_NAME_LIST.first*/
T2 r183count(T183* C){
T2 R=0;
/*[IF*/
if(((C)->_remainder/*4*/)==((void*)(NULL))){
R=1;
}
else{
R=(2)+(((T184*)((C)->_remainder/*4*/))->_upper/*8*/);
}
/*FI]*/
return R;
}
T6 r183gives_permission_to(T183* C,T0* a1){
T6 R=0;
T2 _i=0;
/*[IF*/
if((r183index_of(C,a1))>(0)){
R=1;
}
else{
_i=r183count(C);
while (!((R)||((_i)==(0)))) {
R=r47is_subclass_of(((T47*)a1),r183item(C,_i));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:CLASS_NAME_LIST.us_any*/
/*No:CLASS_NAME_LIST.remainder*/
T2 r183index_of(T183* C,T0* a1){
T2 R=0;
T0* _to_string=NULL;
_to_string=(((T47*)a1))->_to_string/*0*/;
R=r183count(C);
while (!(((R)==(0))||((_to_string)==((void*)(((T47*)(r183item(C,R)))->_to_string/*0*/))))) {
R=(R)-(1);
}
return R;
}
/*No:IMPLICIT_CURRENT.start_position*/
T0* r181add_comment(T181* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:IMPLICIT_CURRENT.is_written*/
T2 r181to_integer(T181* C){
T2 R=0;
r181error((C)->_start_position/*4*/,((T0*)ms12_45846));
return R;
}
T0* r181to_runnable(T181* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_result_type/*8*/)==((void*)(NULL))){
C->_result_type=a1;
R=(T0*)C;
}
else if(((C)->_result_type/*8*/)==((void*)(a1))){
R=(T0*)C;
}
else{
{T181*n=malloc(sizeof(*n));
*n=M181;
/*[IRF3.3make*/((((T181*)(n)))->_start_position)=((C)->_start_position/*4*/);
/*]*/
R=(T0*)n;
}
R=r181to_runnable(((T181*)R),a1);
}
/*FI]*/
return R;
}
/*No:IMPLICIT_CURRENT.fz_iinaiv*/
/*No:IMPLICIT_CURRENT.result_type*/
void r181error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:IMPLICIT_CURRENT.precedence*/
/*No:IMPLICIT_CURRENT.make*/
/*No:IMPLICIT_CURRENT.bracketed_short*/
/*No:IMPLICIT_CURRENT.is_current*/
/*No:IMPLICIT_CURRENT.is_void*/
/*No:IMPLICIT_CURRENT.short_target*/
/*No:IMPLICIT_CURRENT.short*/
/*No:IMPLICIT_CURRENT.us_current*/
/*No:IMPLICIT_CURRENT.atomic_precedence*/
/*No:TMP_NAME.fz_once*/
T6 r96look_in(T0* a1){
T6 R=0;
T2 _i=0;
_i=(((T34*)a1))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=r7same_as((T7*)(r34item(((T34*)a1),_i)),oBC96tmp_string);
_i=(_i)-(1);
}
return R;
}
/*No:TMP_NAME.fz_old*/
/*No:TMP_NAME.fz_check*/
T0* r96start_position(T96* C){
T0* R=NULL;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_li/*4*/,(C)->_co/*8*/);
R=(T0*)n;
}
return R;
}
T0* r96to_string(T96* C){
T0* R=NULL;
/*[IF*/
if(((C)->_unique_string_memory/*0*/)==((void*)(NULL))){
R=r78item(oBC96tmp_string);
C->_unique_string_memory=R;
}
else{
R=(C)->_unique_string_memory/*0*/;
}
/*FI]*/
return R;
}
/*No:TMP_NAME.fz_if*/
T0* r96to_prefix_name(T96* C){
T0* R=NULL;
{T129*n=malloc(sizeof(*n));
*n=M129;
r129make(n,oBC96tmp_string,r96pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_ensure*/
T0*oBC96keyword_p=NULL;
/*No:TMP_NAME.unique_string_memory*/
/*No:TMP_NAME.fz_frozen*/
/*No:TMP_NAME.fz_do*/
/*No:TMP_NAME.co*/
/*No:TMP_NAME.fz_as*/
/*No:TMP_NAME.li*/
T0*oBC96keyword_u=NULL;
/*No:TMP_NAME.fz_then*/
T0* r96to_argument_name1(T96* C){
T0* R=NULL;
{T178*n=malloc(sizeof(*n));
*n=M178;
r178make(n,r96pos((C)->_li/*4*/,(C)->_co/*8*/),oBC96tmp_string);
R=(T0*)n;
}
return R;
}
T0* r96to_infix_name(T0* a1){
T0* R=NULL;
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,oBC96tmp_string,a1);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.us_void*/
/*No:TMP_NAME.fz_true*/
/*No:TMP_NAME.extend*/
/*No:TMP_NAME.fz_rename*/
/*No:TMP_NAME.fz_rescue*/
/*No:TMP_NAME.fz_indexing*/
/*No:TMP_NAME.fz_when*/
T0* r96to_simple_feature_name(T96* C){
T0* R=NULL;
{T135*n=malloc(sizeof(*n));
*n=M135;
r135make(n,oBC96tmp_string,r96pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_is*/
T0*oBC96keyword_l=NULL;
T6 r96is_result(void){
T6 R=0;
/*[IF*/
if((((T7*)(oBC96tmp_string))->_count/*4*/)==(6)){
R=r7same_as((T7*)(((T0*)ms13_7404)),oBC96tmp_string);
}
/*FI]*/
return R;
}
/*No:TMP_NAME.fz_elseif*/
T0* r96to_local_name1(T96* C){
T0* R=NULL;
{T171*n=malloc(sizeof(*n));
*n=M171;
r171make(n,r96pos((C)->_li/*4*/,(C)->_co/*8*/),oBC96tmp_string);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_feature*/
/*No:TMP_NAME.fz_debug*/
/*No:TMP_NAME.fz_creation*/
T0*oBC96keyword_c=NULL;
/*No:TMP_NAME.fz_select*/
/*No:TMP_NAME.fz_loop*/
/*No:TMP_NAME.fz_obsolete*/
/*No:TMP_NAME.us_or*/
/*No:TMP_NAME.count*/
/*No:TMP_NAME.fz_alias*/
/*No:TMP_NAME.fz_expanded*/
/*No:TMP_NAME.make*/
T6 r96is_current(void){
T6 R=0;
/*[IF*/
if((((T7*)(oBC96tmp_string))->_count/*4*/)==(7)){
R=r7same_as((T7*)(((T0*)ms13_9380)),oBC96tmp_string);
}
/*FI]*/
return R;
}
/*No:TMP_NAME.us_implies*/
/*No:TMP_NAME.fz_class*/
/*No:TMP_NAME.fz_strip*/
/*No:TMP_NAME.fz_prefix*/
/*No:TMP_NAME.fz_infix*/
T0* r96to_infix_name_use(T96* C){
T0* R=NULL;
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,oBC96tmp_string,r96pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_unique*/
T0*oBC96tmp_string=NULL;
/*No:TMP_NAME.fz_export*/
T0*oBC96keyword_r=NULL;
/*No:TMP_NAME.us_precursor*/
/*No:TMP_NAME.fz_variant*/
/*No:TMP_NAME.fz_inherit*/
/*No:TMP_NAME.fz_inspect*/
/*No:TMP_NAME.fz_local*/
/*No:TMP_NAME.us_result*/
T0*oBC96keyword_d=NULL;
/*No:TMP_NAME.fz_all*/
/*No:TMP_NAME.fz_redefine*/
T0* r96to_tag_name(T96* C){
T0* R=NULL;
{T54*n=malloc(sizeof(*n));
*n=M54;
r54make(n,oBC96tmp_string,r96pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_separate*/
T0* r96to_e_void(T96* C){
T0* R=NULL;
{T144*n=malloc(sizeof(*n));
*n=M144;
/*[IRF3.3make*/((((T144*)(n)))->_start_position)=(r96pos((C)->_li/*4*/,(C)->_co/*8*/));
/*]*/
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_require*/
T0*oBC96keyword_i=NULL;
/*No:TMP_NAME.fz_retry*/
/*No:TMP_NAME.us_xor*/
/*No:TMP_NAME.fz_invariant*/
T0* r96pos(T2 a1,T2 a2){
T0* R=NULL;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,a1,a2);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_until*/
T0*oBC96keyword_s=NULL;
/*No:TMP_NAME.us_current*/
T0*oBC96keyword_e=NULL;
void r96initialize(T96* C,T2 a1,T2 a2){
C->_li=a1;
C->_co=a2;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC96tmp_string))))->_count)=(0);
/*]*/
C->_unique_string_memory=NULL;
}
/*No:TMP_NAME.fz_else*/
T0* r96to_local_name2(T96* C,T0* a1,T2 a2){
T0* R=NULL;
{T168*n=malloc(sizeof(*n));
*n=M168;
r168refer_to(n,r96pos((C)->_li/*4*/,(C)->_co/*8*/),a1,a2);
R=(T0*)n;
}
return R;
}
T6 r96isa_keyword(void){
T6 R=0;
T3 _c=0;
_c=r3to_lower(/*(IRF4.6item*/(((T7*)(oBC96tmp_string))->_storage/*0*/)[(1)-(1)]/*)*/);
{int z1=_c;
if((97==z1)){
R=r96look_in(oBC96keyword_a);
}
else
if((99==z1)){
R=r96look_in(oBC96keyword_c);
}
else
if((100==z1)){
R=r96look_in(oBC96keyword_d);
}
else
if((101==z1)){
R=r96look_in(oBC96keyword_e);
}
else
if((102==z1)){
R=r96look_in(oBC96keyword_f);
}
else
if((105==z1)){
R=r96look_in(oBC96keyword_i);
}
else
if((108==z1)){
R=r96look_in(oBC96keyword_l);
}
else
if((111==z1)){
R=r96look_in(oBC96keyword_o);
}
else
if((112==z1)){
R=r96look_in(oBC96keyword_p);
}
else
if((114==z1)){
R=r96look_in(oBC96keyword_r);
}
else
if((115==z1)){
R=r96look_in(oBC96keyword_s);
}
else
if((116==z1)){
R=r96look_in(oBC96keyword_t);
}
else
if((117==z1)){
R=r96look_in(oBC96keyword_u);
}
else
if((118==z1)){
R=r7same_as((T7*)(((T0*)ms12_9506)),oBC96tmp_string);
}
else
if((119==z1)){
R=r7same_as((T7*)(((T0*)ms12_1776)),oBC96tmp_string);
}
else
if((120==z1)){
R=r7same_as((T7*)(((T0*)ms13_1053a)),oBC96tmp_string);
}
}
return R;
}
/*No:TMP_NAME.fz_deferred*/
/*No:TMP_NAME.fz_like*/
T0* r96to_class_name(T96* C){
T0* R=NULL;
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,oBC96tmp_string,r96pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
T0*oBC96keyword_o=NULL;
T0* r96to_argument_name2(T96* C,T0* a1,T2 a2){
T0* R=NULL;
{T176*n=malloc(sizeof(*n));
*n=M176;
r176refer_to(n,r96pos((C)->_li/*4*/,(C)->_co/*8*/),a1,a2);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_end*/
/*No:TMP_NAME.fz_undefine*/
T0*oBC96keyword_a=NULL;
T0*oBC96keyword_t=NULL;
/*No:TMP_NAME.fz_external*/
/*No:TMP_NAME.fz_from*/
/*No:TMP_NAME.fz_false*/
T6 r96is_void(void){
T6 R=0;
/*[IF*/
if((((T7*)(oBC96tmp_string))->_count/*4*/)==(4)){
R=r7same_as((T7*)(((T0*)ms13_1648)),oBC96tmp_string);
}
/*FI]*/
return R;
}
/*No:TMP_NAME.us_and*/
T0*oBC96keyword_f=NULL;
/*No:LOOP_VARIANT_1.nb_errors*/
T0* r234start_position(T234* C){
T0* R=NULL;
R=X53start_position((C)->_expression/*8*/);
return R;
}
T0* r234twin(T234* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T234*)R)=*C;
return R;
}
/*No:LOOP_VARIANT_1.expression*/
T0* r234to_runnable(T234* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*[IF*/
if(((C)->_current_type/*12*/)==((void*)(NULL))){
C->_current_type=a1;
_e=X53to_runnable((C)->_expression/*8*/,a1);
/*[IF*/
if((_e)==((void*)(NULL))){
r234error(r234start_position(C),((T0*)ms230_20400));
}
else{
C->_expression=_e;
/*[IF*/
if(!(X46is_integer(X53result_type((C)->_expression/*8*/)))){
r234error(X53start_position((C)->_expression/*8*/),((T0*)ms230_86602));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
R=(T0*)C;
}
/*FI]*/
}
else{
R=r234twin(C);
/*[IRF3.3set_current_type*/((((T234*)(((T234*)R))))->_current_type)=(NULL);
/*]*/
R=r234to_runnable(((T234*)R),a1);
}
/*FI]*/
return R;
}
/*No:LOOP_VARIANT_1.set_current_type*/
/*No:LOOP_VARIANT_1.current_type*/
void r234error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
void r234make(T234* C,T0* a1,T0* a2){
C->_comment=a2;
C->_expression=a1;
}
/*No:LOOP_VARIANT_1.comment*/
/*No:CALL_INFIX_IMPLIES.feature_name*/
T0* r100start_position(T100* C){
T0* R=NULL;
R=((T125*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
T0* r100add_comment(T100* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r100to_integer(T100* C){
T2 R=0;
r100error(r100start_position(C),((T0*)ms12_45846));
return R;
}
T0* r100to_runnable(T100* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r100runnable_expression((C)->_target/*4*/,a1);
_a=r100runnable_args((C)->_arguments/*8*/,a1);
_tt=X53result_type(_t);
_at=X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r100run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r100run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T100*n=malloc(sizeof(*n));
*n=M100;
r100with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.fz_bad_argument*/
/*No:CALL_INFIX_IMPLIES.fz_iinaiv*/
T0* r100result_type(T100* C){
T0* R=NULL;
T0* _tla=NULL;
R=X312result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X46is_like_current(R)){
R=/*X312current_type*/((T0*)((T326*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 246:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X46run_type(X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.run_feature*/
T0* r100runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r136to_runnable(((T136*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(r136start_position(((T136*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r100bracketed_short(T100* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r100short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}
void r100with(T100* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r100run_feature_match(C,a5);
}
/*No:CALL_INFIX_IMPLIES.fatal_error*/
void r100run_feature_match(T100* C,T0* a1){
r100run_feature_has_result(C);
r136match_with((T136*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_IMPLIES.arguments*/
T0* r100runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X53to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(X53start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms105_16515);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.implicit_cast*/
/*No:CALL_INFIX_IMPLIES.arg1*/
void r100run_feature_has_result(T100* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r67add_position(X312start_position((C)->_run_feature/*16*/));
r67add_position(((T125*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms104_53650);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r100run_feature_for(T100* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(X53result_type(a1));
R=r310get_rf(((T310*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_IMPLIES.target*/
void r100error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:CALL_INFIX_IMPLIES.precedence*/
void r100make(T100* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,r100operator(),a2);
C->_feature_name=(T0*)n;
}
{T136*n=malloc(sizeof(*n));
*n=M136;
/*[IRF3.3make_1*/((((T136*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_IMPLIES.is_current*/
/*No:CALL_INFIX_IMPLIES.us_implies*/
/*No:CALL_INFIX_IMPLIES.short_print_feature_name*/
/*No:CALL_INFIX_IMPLIES.is_void*/
T0* r100operator(void){
T0* R=NULL;
R=((T0*)ms13_9513);
return R;
}
void r100short_target(T100* C){
r100bracketed_short(C);
/*[IRF3.6a_dot*/{T39* C1=(T39*)(oBC11short_print);
r39hook_or(C1,((T0*)ms39_999a),((T0*)ms12_47));
}/*]*/
}
void r100short(T100* C){
/*[IF*/
if((X53precedence((C)->_target/*4*/))==(13)){
X53short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T100* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
/*[IF*/
if((X53precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((3)>=(X53precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X53bracketed_short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else{
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
else if((X53precedence((C)->_target/*4*/))<(3)){
X53bracketed_short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T100* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else{
X53short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T100* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
/*No:CALL_INFIX_IMPLIES.atomic_precedence*/
/*No:RUN_FEATURE_11.use_current_state*/
/*No:RUN_FEATURE_11.rescue_compound*/
/*No:RUN_FEATURE_11.actuals_clients*/
/*No:RUN_FEATURE_11.arguments*/
void r356initialize(T356* C){
C->_arguments=((T289*)((C)->_base_feature/*32*/))->_arguments/*24*/;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if(!(r175is_runnable((T175*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T175*n=malloc(sizeof(*n));
*n=M175;
r175with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
C->_result_type=X46to_runnable(((T289*)((C)->_base_feature/*32*/))->_result_type/*56*/,(C)->_current_type/*4*/);
C->_local_vars=((T289*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
/*[IF*/
if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
C->_local_vars=r166to_runnable((T166*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
}
/*FI]*/
C->_routine_body=((T289*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
C->_routine_body=r204to_runnable((T204*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
}
/*FI]*/
/*[IF*/
if(r73require_check((T73*)(oBC11run_control))){
C->_require_assertion=r289run_require((T0*)C);
}
/*FI]*/
/*[IF*/
if(r73ensure_check((T73*)(oBC11run_control))){
C->_ensure_assertion=r289run_ensure((T0*)C);
}
/*FI]*/
C->_rescue_compound=((T289*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.3set_used*/((((T334*)((T334*)(oBC11exceptions_handler))))->_used)=(1);
/*]*/
C->_rescue_compound=r204to_runnable((T204*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
}
/*FI]*/
}
T0* r356start_position(T356* C){
T0* R=NULL;
R=r289start_position((T289*)((C)->_base_feature/*32*/));
return R;
}
/*No:RUN_FEATURE_11.require_assertion*/
/*No:RUN_FEATURE_11.clients_memory*/
/*No:RUN_FEATURE_11.ucs_not_computed*/
T0*oBC11exceptions_handler=NULL;
/*No:RUN_FEATURE_11.current_type*/
void r356add_client(T356* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T321*n=malloc(sizeof(*n));
*n=M321;
r321with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r321fast_index_of((T321*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T321*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r310add_client((T310*)(r356run_class(C)),a1);
}
T0* r356run_class(T356* C){
T0* R=NULL;
R=X46run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_11.result_type*/
/*No:RUN_FEATURE_11.base_feature*/
/*No:RUN_FEATURE_11.ensure_assertion*/
void r356make(T356* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r317put(((T317*)(((T310*)(r356run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X77to_key(a2));
/*]*/
r59incr_magic_count((T59*)(oBC11small_eiffel));
C->_use_current_state=15;
r59push((T59*)(oBC11small_eiffel),(T0*)C);
r356initialize(C);
r59pop((T59*)(oBC11small_eiffel));
}
/*No:RUN_FEATURE_11.routine_body*/
/*No:RUN_FEATURE_11.name*/
/*No:RUN_FEATURE_11.local_vars*/
T2 r356arg_count(T356* C){
T2 R=0;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
R=/*(IRF4.6count*/(((T179*)(((T175*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
}
/*FI]*/
return R;
}
T0* r356clients(T356* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X46base_class((C)->_current_type/*4*/);
_bfbc=((T289*)((C)->_base_feature/*32*/))->_base_class/*4*/;
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=((T289*)((C)->_base_feature/*32*/))->_clients/*20*/;
}
else{
R=r22clients_for(((T22*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
T6 r356is_exported_in(T356* C,T0* a1){
T6 R=0;
R=r94gives_permission_to((T94*)(r356clients(C)),a1);
return R;
}
/*No:PROC_CALL_N.feature_name*/
void r152run_feature_match(T152* C,T0* a1){
r152run_feature_has_no_result(C);
r136match_with((T136*)((C)->_arguments/*16*/),(C)->_run_feature/*12*/,a1);
}
/*No:PROC_CALL_N.arguments*/
T0* r152runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X53to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(X53start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms105_16515);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
T0* r152start_position(T152* C){
T0* R=NULL;
R=X77start_position((C)->_feature_name/*8*/);
return R;
}
T0* r152add_comment(T152* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
/*AF*/else{
{T213*n=malloc(sizeof(*n));
*n=M213;
r213make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r152run_feature_has_no_result(T152* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*12*/))!=((void*)(NULL))){
r67add_position(X312start_position((C)->_run_feature/*12*/));
r67add_position(X77start_position((C)->_feature_name/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms149_67122);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r152to_runnable(T152* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r152runnable_expression((C)->_target/*4*/,a1);
_a=r152runnable_args((C)->_arguments/*16*/,a1);
_rf=r152run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r152run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*16*/)))){
R=(T0*)C;
}
else{
{T152*n=malloc(sizeof(*n));
*n=M152;
r152with(n,_t,(C)->_feature_name/*8*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:PROC_CALL_N.fz_bad_argument*/
/*No:PROC_CALL_N.set_run_feature*/
T0* r152run_feature_for(T152* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(X53result_type(a1));
R=r310get_rf(((T310*)_rc),a1,(C)->_feature_name/*8*/,a2);
return R;
}
/*No:PROC_CALL_N.target*/
/*No:PROC_CALL_N.run_feature*/
/*No:PROC_CALL_N.end_mark_comment*/
void r152make(T152* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
T0* r152runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r136to_runnable(((T136*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(r136start_position(((T136*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
T0* r152make_runnable(T152* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=a1;
C->_arguments=a2;
C->_run_feature=a3;
R=(T0*)C;
}
else{
{T152*n=malloc(sizeof(*n));
*n=M152;
r152make(n,a1,(C)->_feature_name/*8*/,a2);
R=(T0*)n;
}
/*[IRF3.3set_run_feature*/((((T152*)(((T152*)R))))->_run_feature)=(a3);
/*]*/
}
/*FI]*/
return R;
}
/*No:PROC_CALL_N.arg_count*/
void r152with(T152* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r152run_feature_match(C,a5);
}
/*No:PROC_CALL_N.fatal_error*/